Skip to content

feat(appium): add --releases to check out latest SDK release points - #48

Merged
sherwinski merged 2 commits into
mainfrom
appium-e2e-checkout-releases
Jul 23, 2026
Merged

feat(appium): add --releases to check out latest SDK release points#48
sherwinski merged 2 commits into
mainfrom
appium-e2e-checkout-releases

Conversation

@sherwinski

@sherwinski sherwinski commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

What

Adds appium/scripts/checkout-releases.sh and wires it into run-all.sh via a new --releases flag. Before iterating combos, it checks out the newest stable release point in each downstream SDK repo:

  • rel-branch repos (flutter, rn, cordova, capacitor, dotnet, unity, android): newest rel/X.Y.Z branch — betas and non-semver excluded — then pull --ff-only.
  • tag-only repos (expo, ios): newest semver tag (detached HEAD).

Details

  • Repo paths honor the same *_DIR overrides as run-local.sh (sourced from .env), falling back to the config.sh defaults under $SDK_ROOT.
  • Repos with uncommitted changes are skipped, never clobbered — it leaves them on their current branch and prints SKIP.
  • run-all.sh --releases aborts before running any combo if the checkout fails.

Stacking

Stacked on #47 (appium-e2e-bootstrap). The two are functionally independent (no shared files), so this can be retargeted to main if the bootstrap PR is held up.

Adds an idempotent bootstrap script that installs everything run-local.sh's
preflight checks for: .env (from example), appium + xcuitest/uiautomator2
drivers, Vite+ (creating the vpx symlink the installer sometimes omits), and
appium/ node_modules.

Documents the quick-start path and the vpx symlink caveat in the README, and
points the vpx preflight errors in config.sh at bootstrap.sh instead of the
raw install command.
Adds checkout-releases.sh, which checks out the newest stable release point in
each downstream SDK repo before a run: the latest rel/X.Y.Z branch for
rel-branch repos, or the newest semver tag for tag-only repos (expo, ios).
Repo paths honor the same *_DIR overrides as run-local.sh (loaded from .env),
and repos with uncommitted changes are skipped rather than clobbered.

Wires it into run-all.sh via a new --releases flag that runs the checkout
before iterating combos, aborting if it fails.
@sherwinski
sherwinski requested a review from a team as a code owner July 23, 2026 22:20
@sherwinski
sherwinski requested a review from fadi-george July 23, 2026 22:22
Base automatically changed from appium-e2e-bootstrap to main July 23, 2026 22:29
@sherwinski
sherwinski merged commit 2f91030 into main Jul 23, 2026
@sherwinski
sherwinski deleted the appium-e2e-checkout-releases branch July 23, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants